package com.company.eos.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import java.io.Serializable;
import java.util.Date;

/**
 * OA离职申请表
 *
 * @TableName tb_audit_quit
 */
@TableName(value = "tb_audit_quit")
public class AuditQuit implements Serializable {
    public AuditQuit() {
    }

    public AuditQuit(Integer id, Integer applyUserId, String applyReason, Date applyTime, Date quitTime, String remark, Integer status) {
        this.id = id;
        this.applyUserId = applyUserId;
        this.applyReason = applyReason;
        this.applyTime = applyTime;
        this.quitTime = quitTime;
        this.remark = remark;
        this.status = status;
    }

    public AuditQuit(Integer applyUserId, String applyReason, Date applyTime, Date quitTime, String remark, Integer status) {
        this.applyUserId = applyUserId;
        this.applyReason = applyReason;
        this.applyTime = applyTime;
        this.quitTime = quitTime;
        this.remark = remark;
        this.status = status;
    }

    /**
     * 主键ID，自增
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 申请人用户ID
     */
    @TableField(value = "apply_user_id")
    private Integer applyUserId;

    /**
     * 申请离职原因
     */
    @TableField(value = "apply_reason")
    private String applyReason;

    /**
     * 申请时间
     */
    @TableField(value = "apply_time")
    private Date applyTime;

    /**
     * 离职时间
     */
    @TableField(value = "quit_time")
    private Date quitTime;

    /**
     * 备注
     */
    @TableField(value = "remark")
    private String remark;

    /**
     * 审批流ID
     */
    @TableField(value = "flow_id")
    private Integer flowId;

    /**
     * 申请状态，1表示离职中，2表示已同意，3表示不同意
     */
    @TableField(value = "status")
    private Integer status;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public Integer getApplyUserId() {
        return applyUserId;
    }

    public void setApplyUserId(Integer applyUserId) {
        this.applyUserId = applyUserId;
    }

    public String getApplyReason() {
        return applyReason;
    }

    public void setApplyReason(String applyReason) {
        this.applyReason = applyReason;
    }

    public Date getApplyTime() {
        return applyTime;
    }

    public void setApplyTime(Date applyTime) {
        this.applyTime = applyTime;
    }

    public Date getQuitTime() {
        return quitTime;
    }

    public void setQuitTime(Date quitTime) {
        this.quitTime = quitTime;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public static long getSerialVersionUID() {
        return serialVersionUID;
    }

    public Integer getFlowId() {
        return flowId;
    }

    public void setFlowId(Integer flowId) {
        this.flowId = flowId;
    }

    @Override
    public String toString() {
        return "AuditQuit{" +
                "id=" + id +
                ", applyUserId=" + applyUserId +
                ", applyReason='" + applyReason + '\'' +
                ", applyTime=" + applyTime +
                ", quitTime=" + quitTime +
                ", remark='" + remark + '\'' +
                ", status=" + status +
                '}';
    }
}
